home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / e / powerd0.06 / modules / devices / trackdisk.m < prev   
Text File  |  1999-11-30  |  2KB  |  109 lines

  1. MODULE    'exec/devices',
  2.             'exec/io'
  3.  
  4. CONST    NUMSECS=11,
  5.         NUMUNITS=4,
  6.         TD_SECTOR=$200,
  7.         TD_SECSHIFT=9,
  8.         TDF_EXTCOM=$8000,
  9.         TD_MOTOR=9,
  10.         TD_SEEK=10,
  11.         TD_FORMAT=11,
  12.         TD_REMOVE=12,
  13.         TD_CHANGENUM=13,
  14.         TD_CHANGESTATE=14,
  15.         TD_PROTSTATUS=15,
  16.         TD_RAWREAD=16,
  17.         TD_RAWWRITE=17,
  18.         TD_GETDRIVETYPE=18,
  19.         TD_GETNUMTRACKS=19,
  20.         TD_ADDCHANGEINT=20,
  21.         TD_REMCHANGEINT=21,
  22.         TD_GETGEOMETRY=22,
  23.         TD_EJECT=23,
  24.         TD_LASTCOMM=24,
  25.         ETD_WRITE=$8003,
  26.         ETD_READ=$8002,
  27.         ETD_MOTOR=$8009,
  28.         ETD_SEEK=$800A,
  29.         ETD_FORMAT=$800B,
  30.         ETD_UPDATE=$8004,
  31.         ETD_CLEAR=$8005,
  32.         ETD_RAWREAD=$8010,
  33.         ETD_RAWWRITE=$8011
  34.  
  35. #define TD_NAME 'trackdisk.device'
  36.  
  37. OBJECT IOExtTD
  38.     IOStd:IOStd,
  39.     Count:LONG,
  40.     SecLabel:LONG
  41.  
  42. OBJECT DriveGeometry
  43.     SectorSize:LONG,
  44.     TotalSectors:LONG,
  45.     Cylinders:LONG,
  46.     Cylsectors:LONG,
  47.     Heads:LONG,
  48.     TrackSectors:LONG,
  49.     BufMemType:LONG,
  50.     DeviceType:CHAR,
  51.     Flags:CHAR,
  52.     reserved:INT
  53.  
  54. CONST    DG_DIRECT_ACCESS=0,
  55.         DG_SEQUENTIAL_ACCESS=1,
  56.         DG_PRINTER=2,
  57.         DG_PROCESSOR=3,
  58.         DG_WORM=4,
  59.         DG_CDROM=5,
  60.         DG_SCANNER=6,
  61.         DG_OPTICAL_DISK=7,
  62.         DG_MEDIUM_CHANGER=8,
  63.         DG_COMMUNICATION=9,
  64.         DG_UNKNOWN=31,
  65.         DGB_REMOVABLE=0,
  66.         DGF_REMOVABLE=1,
  67.         IOTDB_INDEXSYNC=4,
  68.         IOTDF_INDEXSYNC=16,
  69.         IOTDB_WORDSYNC=5,
  70.         IOTDF_WORDSYNC=$20,
  71.         TD_LABELSIZE=16,
  72.         TDB_ALLOW_NON_3_5=0,
  73.         TDF_ALLOW_NON_3_5=1,
  74.         DRIVE3_5=1,
  75.         DRIVE5_25=2,
  76.         DRIVE3_5_150RPM=3,
  77.         TDERR_NOTSPECIFIED=20,
  78.         TDERR_NOSECHDR=21,
  79.         TDERR_BADSECPREAMBLE=22,
  80.         TDERR_BADSECID=23,
  81.         TDERR_BADHDRSUM=24,
  82.         TDERR_BADSECSUM=25,
  83.         TDERR_TOOFEWSECS=26,
  84.         TDERR_BADSECHDR=27,
  85.         TDERR_WRITEPROT=28,
  86.         TDERR_DISKCHANGED=29,
  87.         TDERR_SEEKERROR=30,
  88.         TDERR_NOMEM=31,
  89.         TDERR_BADUNITNUM=$20,
  90.         TDERR_BADDRIVETYPE=$21,
  91.         TDERR_DRIVEINUSE=$22,
  92.         TDERR_POSTRESET=$23
  93.  
  94. OBJECT PublicUnit
  95.     Unit:Unit,
  96.     Comp01Track:UWORD,
  97.     Comp10Track:UWORD,
  98.     Comp11Track:UWORD,
  99.     StepDelay:LONG,
  100.     SettleDelay:LONG,
  101.     RetryCnt:CHAR,
  102.     PubFlags:CHAR,
  103.     CurrTrk:UWORD,
  104.     CalibrateDelay:LONG,
  105.     Counter:LONG
  106.  
  107. CONST    TDPB_NOCLICK=0,
  108.         TDPF_NOCLICK=1
  109.